﻿using System;

namespace Rubik.Base
{
    /// <summary>
    /// Represents Rubik's cube serializer.
    /// </summary>
    public interface ICubeSerializer
    {
        /// <summary>
        /// Serializes the specified data.
        /// </summary>
        /// <param name="data">The data.</param>
        /// <returns>The serialized data.</returns>
        string Serialize(byte[][,] data);

        /// <summary>
        /// Deserializes the specified serialized data.
        /// </summary>
        /// <param name="serializedData">The serialized data.</param>
        /// <returns>The data.</returns>
        byte[][,] Deserialize(string serializedData);
    }
}
